package com.ruoyi.crm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单明细对象 crm_order_details
 * 
 * @author ruoyi
 * @date 2021-10-14
 */
public class CrmOrderDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date doneDt;
    private String docNum;
    private String oaDictConfirmStatus;

    public String getOaDictConfirmStatus() {
        return oaDictConfirmStatus;
    }

    public void setOaDictConfirmStatus(String oaDictConfirmStatus) {
        this.oaDictConfirmStatus = oaDictConfirmStatus;
    }

    public String getDocNum() {
        return docNum;
    }

    public void setDocNum(String docNum) {
        this.docNum = docNum;
    }

    /** 订单明细UUID */
    private String orderDetailUuid;

    private String itemName;

    private String itemNum;

    public Date getDoneDt() {
        return doneDt;
    }

    public void setDoneDt(Date doneDt) {
        this.doneDt = doneDt;
    }

    public String getItemNum() {
        return itemNum;
    }

    public void setItemNum(String itemNum) {
        this.itemNum = itemNum;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    /** 订单UUID */
    @Excel(name = "订单UUID")
    private String orderUuid;

    /** 明细顺序 */
    @Excel(name = "明细顺序")
    private String orderDetailOrderBy;

    /** 物料UUID */
    @Excel(name = "物料UUID")
    private String orderDetailItemUuid;

    /** 单价 */
    @Excel(name = "单价")
    private Long orderDetailAmt;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal orderDetailQty;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal orderDetailTotalAmt;

    /** 描述 */
    @Excel(name = "描述")
    private String orderDetailDescJson;

    /** 紧急程度 */
    @Excel(name = "紧急程度")
    private String dicMesUrgencyLevel;

    /** 系统开关 */
    @Excel(name = "系统开关")
    private String sysNormalDisable;

    private String salesPerson;
    /** 备注 */
    @Excel(name = "备注")
    private String docNote;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDt;

    private String custName;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String orderUnit;
    private String fkItemUuid;
    private String wmsDictMeasuringUnit;
    private BigDecimal unitPriceTaxIncluded;
    private BigDecimal taxAmt;
    private BigDecimal taxRate;
    private BigDecimal totalPriceAndTax;
    private String stockInQty;

    public BigDecimal getTotalPriceAndTax() {
        return totalPriceAndTax;
    }

    public void setTotalPriceAndTax(BigDecimal totalPriceAndTax) {
        this.totalPriceAndTax = totalPriceAndTax;
    }

    public BigDecimal getUnitPriceTaxIncluded() {
        return unitPriceTaxIncluded;
    }

    public void setUnitPriceTaxIncluded(BigDecimal unitPriceTaxIncluded) {
        this.unitPriceTaxIncluded = unitPriceTaxIncluded;
    }

    public BigDecimal getTaxAmt() {
        return taxAmt;
    }

    public void setTaxAmt(BigDecimal taxAmt) {
        this.taxAmt = taxAmt;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public String getFkItemUuid() {
        return fkItemUuid;
    }

    public void setFkItemUuid(String fkItemUuid) {
        this.fkItemUuid = fkItemUuid;
    }

    public String getWmsDictMeasuringUnit() {
        return wmsDictMeasuringUnit;
    }

    public void setWmsDictMeasuringUnit(String wmsDictMeasuringUnit) {
        this.wmsDictMeasuringUnit = wmsDictMeasuringUnit;
    }

    public String getStockInQty() {
        return stockInQty;
    }

    public void setStockInQty(String stockInQty) {
        this.stockInQty = stockInQty;
    }

    public Date getDocDt() {
        return docDt;
    }

    public void setDocDt(Date docDt) {
        this.docDt = docDt;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String custName) {
        this.custName = custName;
    }

    public String getSalesPerson() {
        return salesPerson;
    }

    public void setSalesPerson(String salesPerson) {
        this.salesPerson = salesPerson;
    }

    @Override
    public String getDocNote() {
        return docNote;
    }

    @Override
    public void setDocNote(String docNote) {
        this.docNote = docNote;
    }

    public void setOrderDetailUuid(String orderDetailUuid)
    {
        this.orderDetailUuid = orderDetailUuid;
    }

    public String getOrderDetailUuid() 
    {
        return orderDetailUuid;
    }
    public void setOrderUuid(String orderUuid) 
    {
        this.orderUuid = orderUuid;
    }

    public String getOrderUuid() 
    {
        return orderUuid;
    }

    public String getOrderDetailOrderBy() {
        return orderDetailOrderBy;
    }

    public void setOrderDetailOrderBy(String orderDetailOrderBy) {
        this.orderDetailOrderBy = orderDetailOrderBy;
    }

    public void setOrderDetailItemUuid(String orderDetailItemUuid)
    {
        this.orderDetailItemUuid = orderDetailItemUuid;
    }

    public String getOrderDetailItemUuid() 
    {
        return orderDetailItemUuid;
    }
    public void setOrderDetailAmt(Long orderDetailAmt) 
    {
        this.orderDetailAmt = orderDetailAmt;
    }

    public Long getOrderDetailAmt() 
    {
        return orderDetailAmt;
    }

    public BigDecimal getOrderDetailQty() {
        return orderDetailQty;
    }

    public void setOrderDetailQty(BigDecimal orderDetailQty) {
        this.orderDetailQty = orderDetailQty;
    }

    public BigDecimal getOrderDetailTotalAmt() {
        return orderDetailTotalAmt;
    }

    public void setOrderDetailTotalAmt(BigDecimal orderDetailTotalAmt) {
        this.orderDetailTotalAmt = orderDetailTotalAmt;
    }

    public void setOrderDetailDescJson(String orderDetailDescJson)
    {
        this.orderDetailDescJson = orderDetailDescJson;
    }

    public String getOrderDetailDescJson() 
    {
        return orderDetailDescJson;
    }
    public void setDicMesUrgencyLevel(String dicMesUrgencyLevel) 
    {
        this.dicMesUrgencyLevel = dicMesUrgencyLevel;
    }

    public String getDicMesUrgencyLevel() 
    {
        return dicMesUrgencyLevel;
    }
    public void setSysNormalDisable(String sysNormalDisable) 
    {
        this.sysNormalDisable = sysNormalDisable;
    }

    public String getSysNormalDisable() 
    {
        return sysNormalDisable;
    }
    public void setOrderDocNote(String docNote) 
    {
        this.docNote = docNote;
    }

    public String getOrderDocNote() 
    {
        return docNote;
    }
    public void setOrderUnit(String orderUnit) 
    {
        this.orderUnit = orderUnit;
    }

    public String getOrderUnit() 
    {
        return orderUnit;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderDetailUuid", getOrderDetailUuid())
            .append("orderUuid", getOrderUuid())
            .append("orderDetailOrderBy", getOrderDetailOrderBy())
            .append("orderDetailItemUuid", getOrderDetailItemUuid())
            .append("orderDetailAmt", getOrderDetailAmt())
            .append("orderDetailQty", getOrderDetailQty())
            .append("orderDetailTotalAmt", getOrderDetailTotalAmt())
            .append("orderDetailDescJson", getOrderDetailDescJson())
            .append("dicMesUrgencyLevel", getDicMesUrgencyLevel())
            .append("sysNormalDisable", getSysNormalDisable())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("docNote", getOrderDocNote())
            .append("orderUnit", getOrderUnit())
            .toString();
    }
}
